package com.ruoyi.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.PromptModel;
import com.ruoyi.system.domain.dto.ResponseInterpretationDto;
import com.ruoyi.system.domain.dto.ToolJsonDto;
import com.ruoyi.system.domain.dto.ToolJsonResponseDto;

/**
 * @author ：Wangziyi
 * @date ：Created in 2023/12/17 17:24
 * @description：ToDo
 * @modified By：
 * @version: 1.0
 */
public interface PromptService extends IService<PromptModel> {

    PromptModel queryPromptByTName(String tName);

    String getPromptByToolName(String toolName);

    /**
     * 工具调用及参数获取的prompt拼接方法
     * @param tool
     * @return String
     */
    String assemblePrompt(ToolJsonDto tool);

    /**
     * 工具选择及调用期望的prompt拼接方法
     * @param tkName
     * @return String
     */
    String assembleIRPrompt(String tkName);

    String assembleFirstPrompt();   //组装意图识别Prompt

    //输入样例：toolName = 河流详情查询工具 intention = 查询代码为CC00000001的河流的详细信息 result = {
    //    "code": 200,
    //    "msg": "操作成功",
    //    "data": {
    //        "sessionId": "1738030468835704832",
    //        "answer": null,
    //        "docs": null,
    //        "jsonResult": "{\"success\":true,\"responseCD\":1,\"responseMsg\":\"操作成功\",\"data\":[{\"index\":1,\"title\":\"河流名称\",\"value\":\"永定河\"},{\"index\":4,\"title\":\"跨界类型\",\"value\":\"跨省\"},{\"index\":5,\"title\":\"河流类型\",\"value\":\"自然流域\"},{\"index\":10,\"title\":\"河源位置\",\"value\":\"山西省左云县马道头乡潘家窑村\"},{\"index\":11,\"title\":\"河口位置\",\"value\":\"天津市滨海新区临港工业区临港工业虚拟社区\"}],\"totalCount\":null,\"showVideo1\":false,\"showVideo2\":false,\"showRel\":false,\"geojson\":null}",
    //        "type": "详情"
    //    }
    //}
    String assembleResultPrompt(String toolName, String intention, String result);   //组装api返回结果解析的Prompt

    /**
     * 返回结果解析的prompt拼接方法
     * @param
     * @return String
     */
    String assembleRIPrompt(String toolKitName,String question,String toolName,String response);

}
